package com.wicket.okrbff.biz.service.impl;

import com.wicket.okrbff.biz.service.StatisticalDataService;
import com.wicket.okrbff.biz.service.dto.req.BffQueryDeptPostStaffNumListReqDto;
import com.wicket.okrbff.biz.service.dto.req.BffQueryOrgDeptPositionStaffNumListReqDto;
import com.wicket.okrbff.biz.service.dto.req.BffQueryOrgPostRankStaffNumListReqDto;
import com.wicket.okrbff.biz.service.dto.req.BffQueryPostRankStaffNumListReqDto;
import com.wicket.okrbff.biz.service.dto.res.BffQueryDeptPostStaffNumListRespDto;
import com.wicket.okrbff.biz.service.dto.res.BffQueryOrgDeptPositionStaffNumListRespDto;
import com.wicket.okrbff.biz.service.dto.res.BffQueryOrgPostRankStaffNumListRespDto;
import com.wicket.okrbff.biz.service.dto.res.BffQueryPostRankStaffNumListRespDto;
import com.wicket.okrbff.common.util.RedisUtil;
import com.wicket.okrframework.integration.FwBaseStatisticalDataClient;
import com.wicket.okrframework.integration.dto.QueryPostStaffingStatisticsListReqDto;
import com.wicket.okrframework.integration.dto.QueryPostStaffingStatisticsListRespDto;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import com.wicket.okrbff.common.exception.Assert;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@Service
public class StatisticalDataServiceImpl implements StatisticalDataService {
    @Resource
    FwBaseStatisticalDataClient fwBaseStatisticalDataClient;
    @Resource
    private RedisUtil redisUtil;

    /**
   * B1-3查询岗位或职级编制数（管理）[1732]
   * gen by moon at 8/10/2022, 3:37:17 AM
   */
    @Trace(operationName = "B1-3查询岗位或职级编制数（管理）")
    @Tags({@Tag(key = "参数",value = "arg[0]"),
            @Tag(key = "返回值",value = "returnedObj")})
  @Override
  public BffQueryPostRankStaffNumListRespDto queryPostRankStaffNumList(BffQueryPostRankStaffNumListReqDto reqDto){
      
       
       QueryPostStaffingStatisticsListRespDto queryPostStaffingStatisticsListRespDto_1 = null;
//步骤0: D1-3查询编制统计（边界） - queryPostStaffingStatisticsList
     QueryPostStaffingStatisticsListRespDto queryPostStaffingStatisticsListRespDto = null;
    QueryPostStaffingStatisticsListReqDto queryPostStaffingStatisticsListReqDto=new QueryPostStaffingStatisticsListReqDto();
  if(reqDto!=null){
      queryPostStaffingStatisticsListReqDto.setStationId(reqDto.getStationId());//sourceId:53169_1
queryPostStaffingStatisticsListReqDto.setPositionGradeId(reqDto.getPositionGradeId());//sourceId:53170_1
    }
  
    /*D1-3查询编制统计（边界）[1734]   */
    
      queryPostStaffingStatisticsListRespDto = fwBaseStatisticalDataClient.queryPostStaffingStatisticsList(queryPostStaffingStatisticsListReqDto).getData();
      
      queryPostStaffingStatisticsListRespDto_1 = queryPostStaffingStatisticsListRespDto;
    
BffQueryPostRankStaffNumListRespDto retData = new BffQueryPostRankStaffNumListRespDto();
  if(queryPostStaffingStatisticsListRespDto_1!=null){
      retData.setAllStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getAllStaffingAmount());//sourceId:53180_1
retData.setEmptyHeadcount(queryPostStaffingStatisticsListRespDto_1.getEmptyHeadcount());//sourceId:53181_1
retData.setUseStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getUseStaffingAmount());//sourceId:53182_1
retData.setLockingStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getLockingStaffingAmount());//sourceId:53183_1
    }
  

  
  
return retData;
  }

    /**
   * B1-3组织部门职务编制数（管理）[1753]
   * gen by moon at 8/10/2022, 3:37:24 AM
   */
    @Trace(operationName = "B1-3组织部门职务编制数（管理）")
    @Tags({@Tag(key = "参数",value = "arg[0]"),
            @Tag(key = "返回值",value = "returnedObj")})
  @Override
  public BffQueryOrgDeptPositionStaffNumListRespDto queryOrgDeptPositionStaffNumList(BffQueryOrgDeptPositionStaffNumListReqDto reqDto){
      
       
       QueryPostStaffingStatisticsListRespDto queryPostStaffingStatisticsListRespDto_1 = null;
//步骤0: D1-3查询编制统计（边界） - queryPostStaffingStatisticsList
     QueryPostStaffingStatisticsListRespDto queryPostStaffingStatisticsListRespDto = null;
    QueryPostStaffingStatisticsListReqDto queryPostStaffingStatisticsListReqDto=new QueryPostStaffingStatisticsListReqDto();
  if(reqDto!=null){
      queryPostStaffingStatisticsListReqDto.setDeptId(reqDto.getDeptId());//sourceId:53223_1
queryPostStaffingStatisticsListReqDto.setOrganizationId(reqDto.getOrganizationId());//sourceId:53224_1
queryPostStaffingStatisticsListReqDto.setPositionId(reqDto.getPositionId());//sourceId:53225_1
    }
  
    /*D1-3查询编制统计（边界）[1734]   */
    
      queryPostStaffingStatisticsListRespDto = fwBaseStatisticalDataClient.queryPostStaffingStatisticsList(queryPostStaffingStatisticsListReqDto).getData();
      
      queryPostStaffingStatisticsListRespDto_1 = queryPostStaffingStatisticsListRespDto;
    
BffQueryOrgDeptPositionStaffNumListRespDto retData = new BffQueryOrgDeptPositionStaffNumListRespDto();
  if(queryPostStaffingStatisticsListRespDto_1!=null){
      retData.setAllStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getAllStaffingAmount());//sourceId:53229_1
retData.setEmptyHeadcount(queryPostStaffingStatisticsListRespDto_1.getEmptyHeadcount());//sourceId:53230_1
retData.setUseStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getUseStaffingAmount());//sourceId:53231_1
retData.setLockingStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getLockingStaffingAmount());//sourceId:53232_1
    }
  

  
  
return retData;
  }

    /**
   * B1-3查询部门岗位编制数（管理）[1752]
   * gen by moon at 8/10/2022, 3:37:23 AM
   */
    @Trace(operationName = "B1-3查询部门岗位编制数（管理）")
    @Tags({@Tag(key = "参数",value = "arg[0]"),
            @Tag(key = "返回值",value = "returnedObj")})
  @Override
  public BffQueryDeptPostStaffNumListRespDto queryDeptPostStaffNumList(BffQueryDeptPostStaffNumListReqDto reqDto){
      
       
       QueryPostStaffingStatisticsListRespDto queryPostStaffingStatisticsListRespDto_1 = null;
//步骤0: D1-3查询编制统计（边界） - queryPostStaffingStatisticsList
     QueryPostStaffingStatisticsListRespDto queryPostStaffingStatisticsListRespDto = null;
    QueryPostStaffingStatisticsListReqDto queryPostStaffingStatisticsListReqDto=new QueryPostStaffingStatisticsListReqDto();
  if(reqDto!=null){
      queryPostStaffingStatisticsListReqDto.setStationId(reqDto.getStationId());//sourceId:53201_1
queryPostStaffingStatisticsListReqDto.setDeptId(reqDto.getDeptId());//sourceId:53207_1
    }
  
    /*D1-3查询编制统计（边界）[1734]   */
    Assert.isNull(queryPostStaffingStatisticsListReqDto.getStationId(),"B1-3查询部门岗位编制数（管理）-D1-3查询编制统计（边界）-关联岗位ID不能为空",false);
Assert.isNull(queryPostStaffingStatisticsListReqDto.getDeptId(),"B1-3查询部门岗位编制数（管理）-D1-3查询编制统计（边界）-部门ID不能为空",false);
      queryPostStaffingStatisticsListRespDto = fwBaseStatisticalDataClient.queryPostStaffingStatisticsList(queryPostStaffingStatisticsListReqDto).getData();
      
      queryPostStaffingStatisticsListRespDto_1 = queryPostStaffingStatisticsListRespDto;
    
BffQueryDeptPostStaffNumListRespDto retData = new BffQueryDeptPostStaffNumListRespDto();
  if(queryPostStaffingStatisticsListRespDto_1!=null){
      retData.setAllStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getAllStaffingAmount());//sourceId:53213_1
retData.setEmptyHeadcount(queryPostStaffingStatisticsListRespDto_1.getEmptyHeadcount());//sourceId:53214_1
retData.setUseStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getUseStaffingAmount());//sourceId:53215_1
retData.setLockingStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getLockingStaffingAmount());//sourceId:53216_1
    }
  

  
  
return retData;
  }

    /**
   * B1-3查询组织岗位或职级编制数（管理）[1751]
   * gen by moon at 8/10/2022, 3:37:22 AM
   */
    @Trace(operationName = "B1-3查询组织岗位或职级编制数（管理）")
    @Tags({@Tag(key = "参数",value = "arg[0]"),
            @Tag(key = "返回值",value = "returnedObj")})
  @Override
  public BffQueryOrgPostRankStaffNumListRespDto queryOrgPostRankStaffNumList(BffQueryOrgPostRankStaffNumListReqDto reqDto){
      
       
       QueryPostStaffingStatisticsListRespDto queryPostStaffingStatisticsListRespDto_1 = null;
//步骤0: D1-3查询编制统计（边界） - queryPostStaffingStatisticsList
     QueryPostStaffingStatisticsListRespDto queryPostStaffingStatisticsListRespDto = null;
    QueryPostStaffingStatisticsListReqDto queryPostStaffingStatisticsListReqDto=new QueryPostStaffingStatisticsListReqDto();
  if(reqDto!=null){
      queryPostStaffingStatisticsListReqDto.setStationId(reqDto.getStationId());//sourceId:53185_1
queryPostStaffingStatisticsListReqDto.setPositionGradeId(reqDto.getPositionGradeId());//sourceId:53186_1
queryPostStaffingStatisticsListReqDto.setOrganizationId(reqDto.getOrganizationId());//sourceId:53192_1
    }
  
    /*D1-3查询编制统计（边界）[1734]   */
    Assert.isNull(queryPostStaffingStatisticsListReqDto.getOrganizationId(),"B1-3查询组织岗位或职级编制数（管理）-D1-3查询编制统计（边界）-组织ID不能为空",false);
      queryPostStaffingStatisticsListRespDto = fwBaseStatisticalDataClient.queryPostStaffingStatisticsList(queryPostStaffingStatisticsListReqDto).getData();
      
      queryPostStaffingStatisticsListRespDto_1 = queryPostStaffingStatisticsListRespDto;
    
BffQueryOrgPostRankStaffNumListRespDto retData = new BffQueryOrgPostRankStaffNumListRespDto();
  if(queryPostStaffingStatisticsListRespDto_1!=null){
      retData.setAllStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getAllStaffingAmount());//sourceId:53194_1
retData.setEmptyHeadcount(queryPostStaffingStatisticsListRespDto_1.getEmptyHeadcount());//sourceId:53195_1
retData.setUseStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getUseStaffingAmount());//sourceId:53196_1
retData.setLockingStaffingAmount(queryPostStaffingStatisticsListRespDto_1.getLockingStaffingAmount());//sourceId:53197_1
    }
  

  
  
return retData;
  }
    //
}
